package com.gxa.service;

import com.gxa.common.PaginationResult;
import com.gxa.pojo.*;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: zxy
 * Date: 2020/10/29 10:20
 * Description:
 * Version: V1.0
 */
public interface StoneService {
    /**
     * 添加石料种类
     * @param stoneType
     * @return
     */
    int addStoneStyle(StoneType stoneType);

    /**
     * 查询石料种类
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneType(int currentPage, int pageSize);

    /**
     * 根据石料种类id更改详细信息
     * @param stoneType
     * @return
     */
    int updateStoneStyle(StoneType stoneType);

    /**
     * 根据石料种类id删除信息
     * @param typeId
     * @return
     */
    int delStoneStyle(int typeId);

    /**
     * 添加石料颜色信息
     * @param stoneColor
     * @return
     */
    int addStoneColor(StoneColor stoneColor);

    /**
     * 查询石料颜色
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneColor(int currentPage, int pageSize);

    /**
     * 修改石料颜色
     * @param stoneColor
     * @return
     */
    int updateStoneColor(StoneColor stoneColor);

    /**
     * 删除石料颜色
     * @param colorId
     * @return
     */
    int delStoneColor(int colorId);

    /**
     * 添加石料净度
     * @param stoneClarity
     * @return
     */
    int addStoneClarity(StoneClarity stoneClarity);

    /**
     * 查询石料净度
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneClarity(int currentPage, int pageSize);

    /**
     * 修改石料净度
     * @param stoneClarity
     * @return
     */
    int updateStoneClarity(StoneClarity stoneClarity);

    /**
     * 删除石料净度
     * @param clarityId
     * @return
     */
    int delStoneClarity(int clarityId);

    /**
     * 添加石料切工
     * @param stoneCut
     * @return
     */
    int addStoneCut(StoneCut stoneCut);

    /**
     * 查询石料切工
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneCut(int currentPage, int pageSize);

    /**
     * 修改石料切工
     * @param stoneCut
     * @return
     */
    int updateStoneCut(StoneCut stoneCut);

    /**
     * 删除石料切工
     * @param cutId
     * @return
     */
    int delStoneCut(int cutId);

    /**
     * 添加石料火彩
     * @param stoneSci
     * @return
     */
    int addStoneSci(StoneSci stoneSci);

    /**
     * 查询石料火彩
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneSci(int currentPage, int pageSize);

    /**
     * 修改石料火彩
     * @param stoneSci
     * @return
     */
    int updateStoneSci(StoneSci stoneSci);

    /**
     * 删除石料火彩
     * @param sciId
     * @return
     */
    int delStoneSci(int sciId);

    /**
     * 添加石料形状
     * @param stoneShape
     * @return
     */
    int addStoneShape(StoneShape stoneShape);

    /**
     * 查询石料形状
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneShape(int currentPage, int pageSize);

    /**
     * 修改石料形状
     * @param stoneShape
     * @return
     */
    int updateStoneShape(StoneShape stoneShape);

    /**
     * 删除石料形状
     * @param stoneShapeId
     * @return
     */
    int delStoneShape(int stoneShapeId);

    /**
     * 添加石料规格
     * @param stoneNorms
     * @return
     */
    int addStoneNorms(StoneNorms stoneNorms);

    /**
     * 查询石料规格
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneNorms(int currentPage, int pageSize);

    /**
     * 修改石料规格
     * @param stoneNorms
     * @return
     */
    int updateStoneNorms(StoneNorms stoneNorms);

    /**
     * 删除石料规格
     * @param normsId
     * @return
     */
    int delStoneNorms(int normsId);

    /**
     * 添加质地
     * @param stoneTexture
     * @return
     */
    int addStoneTexture(StoneTexture stoneTexture);

    /**
     * 查询石料质地
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneTexture(int currentPage,int pageSize);

    /**
     * 修改石料质地
     * @param stoneTexture
     * @return
     */
    int updateStoneTexture(StoneTexture stoneTexture);

    /**
     * 删除石料质地
     * @param textureId
     * @return
     */
    int delStoneTexture(int textureId);

    /**
     * 添加石料水头
     * @param stoneHead
     * @return
     */
    int addStoneHead(StoneHead stoneHead);

    /**
     * 查询石料水头
     * @param currentPage
     * @param pageSize
     * @return
     */
    PaginationResult queryStoneHead(int currentPage, int pageSize);

    /**
     * 修改石料水头
     * @param stoneHead
     * @return
     */
    int updateStoneHead(StoneHead stoneHead);

    /**
     * 删除石料水头
     * @param stoneHead
     * @return
     */
    int delStoneHead(StoneHead stoneHead);
}
